package org.dromara.system.domain.bo;

import org.dromara.system.domain.SkyHumanDishonest;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 失信被执行人业务对象 sky_human_dishonest
 *
 * @author Lion Li
 * @date 2024-09-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SkyHumanDishonest.class, reverseConvertGenerate = false)
public class SkyHumanDishonestBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 法人、负责人姓名
     */
    @NotBlank(message = "法人、负责人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String businessentity;

    /**
     * 省份地区
     */
    @NotBlank(message = "省份地区不能为空", groups = { AddGroup.class, EditGroup.class })
    private String areaname;

    /**
     * 法院名称
     */
    @NotBlank(message = "法院名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String courtname;

    /**
     * 未履行部分
     */
    @NotBlank(message = "未履行部分不能为空", groups = { AddGroup.class, EditGroup.class })
    private String unperformPart;

    /**
     * 失信人类型，0代表人，1代表公司
     */
    @NotBlank(message = "失信人类型，0代表人，1代表公司不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 已履行部分
     */
    @NotBlank(message = "已履行部分不能为空", groups = { AddGroup.class, EditGroup.class })
    private String performedPart;

    /**
     * 失信人名称
     */
    @NotBlank(message = "失信人名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String iname;

    /**
     * 失信被执行人行为具体情形
     */
    @NotBlank(message = "失信被执行人行为具体情形不能为空", groups = { AddGroup.class, EditGroup.class })
    private String disrupttypename;

    /**
     * 案号
     */
    @NotBlank(message = "案号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String casecode;

    /**
     * 身份证号码/组织机构代码
     */
    @NotBlank(message = "身份证号码/组织机构代码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cardnum;

    /**
     * 履行情况
     */
    @NotBlank(message = "履行情况不能为空", groups = { AddGroup.class, EditGroup.class })
    private String performance;

    /**
     * 立案时间
     */
    @NotNull(message = "立案时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date regdate;

    /**
     * 发布时间
     */
    @NotNull(message = "发布时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date publishdate;

    /**
     * 做出执行的依据单位
     */
    @NotBlank(message = "做出执行的依据单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gistunit;

    /**
     * 生效法律文书确定的义务
     */
    @NotBlank(message = "生效法律文书确定的义务不能为空", groups = { AddGroup.class, EditGroup.class })
    private String duty;

    /**
     * 执行依据文号
     */
    @NotBlank(message = "执行依据文号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gistid;


}
